package com.hzt.agprosaleplatform.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hzt.agprosaleplatform.entity.Good;

public interface AdminGoodsService {
    /**
     * 分页获取商品列表，支持搜索和筛选
     * @param page 分页对象
     * @param title 商品标题（可选）
     * @param shopId 商家ID（可选）
     * @param status 商品状态（可选）
     * @return 商品分页列表
     */
    IPage<Good> getGoodsPage(Page<Good> page, String title, String shopId, String status);
    
    /**
     * 根据商品ID获取商品详情
     * @param gid 商品ID
     * @return 商品详情
     */
    Good getGoodsDetail(Integer gid);
    
    /**
     * 审核通过商品
     * @param gid 商品ID
     * @param opinion 审核意见
     * @return 是否操作成功
     */
    boolean approveGoods(Integer gid, String opinion);
    
    /**
     * 拒绝商品
     * @param gid 商品ID
     * @param opinion 拒绝意见
     * @return 是否操作成功
     */
    boolean rejectGoods(Integer gid, String opinion);
    
    /**
     * 下架商品
     * @param gid 商品ID
     * @param opinion 下架原因
     * @return 是否操作成功
     */
    boolean offlineGoods(Integer gid, String opinion);
    
    /**
     * 上架商品
     * @param gid 商品ID
     * @param opinion 上架原因
     * @return 是否操作成功
     */
    boolean onlineGoods(Integer gid, String opinion);
    
    /**
     * 删除商品（软删除）
     * @param gid 商品ID
     * @param opinion 删除原因
     * @return 是否操作成功
     */
    boolean deleteGoods(Integer gid, String opinion);
}